home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / GameKit / Headers / gamekit / GKTextActor.h < prev    next >
Text File  |  1995-06-12  |  2KB  |  55 lines

  1.  
  2. // Handles putting temporary text in the game field.  The text may or may
  3. // not blink; you decide.  The defaults are to go with non-blinking text
  4. // and put it up for 48 renderings (displayed game frames); blinking text
  5. // defaults to changing on/off status every 4 rendered frames.  Helvetica
  6. // is the default font... note that this object will not dirty up the buffer
  7. // unless the text explicity needs to be turned on/off (put it up for
  8. // the first time, remove it at the end of it's life, or a blink) so this
  9. // means that blinking text will slow things down more than steady text...
  10.  
  11. #import <gamekit/gamekit.h>
  12.  
  13. // defaults used by -init and - initAtPoint:pointSize:
  14. #define GK_DEFAULTPOINTSIZE 12.0
  15. #define GK_DEFAULTTEXT "Get Ready!"
  16.  
  17. @interface GKTextActor:GKActor
  18. {
  19.     BOOL doDraw, doErase, blinking, visible;
  20.     int timeLeftOnScreen, blinkPeriod;
  21.     id text;        // a DAYString with the text to render.
  22.     id fontName;    // a DAYString with the font's name.
  23.     float pointSize;
  24. }
  25.  
  26. + initialize;        // initialize the PSWraps for the text drawing
  27. - init;                // initialize to display "Get ready!"
  28. - initAtPoint:(const NXPoint *)aPoint pointSize:(float)points;
  29. - initWithInt:(int)aNumber atPoint:(const NXPoint *)aPoint
  30.         pointSize:(float)points; // set up to display the number
  31.         // aNumber at point aPoint with point size points
  32. - initWithString:(const char *)aString atPoint:(const NXPoint *)aPoint
  33.         pointSize:(float)points; // set up to display an arbitrary
  34.         // string at point aPoint with point size points
  35.  
  36. // configuration options
  37. - setTimeLeftOnScreen:(int)anInt; // set how long it is seen on the screen
  38. - (int)timeLeftOnScreen;
  39. - setBlinkPeriod:(int)anInt; // will turn blinking on automatically.
  40.         // (turns it off if anInt == 0.)
  41. - (int)blinkPeriod;
  42. - setBlinking:(BOOL)anInt;
  43. - (BOOL)blinking;
  44. - setFontName:(const char *)name;
  45. - (const char *)fontName;
  46.  
  47. // drawing the actor and advancing the internal state machine
  48. - getBoundingBox:(NXRect *)box;        // obtain the true bounding box
  49. - eraseInDirtPile:dirtPile;
  50. - markInDirtPile:dirtPile;    // same as above but called at different times
  51. - moveOneFrame;
  52. - drawActorWithOffset:(NXPoint *)offset;    // draw the actor
  53.  
  54. @end
  55.